package com.ailight.smart.ai.strategy;

import com.ailight.smart.ai.enums.AiModelEnum;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

/**
 * @author: 朱海鹏
 * @Package: com.ailight.smart.ai.strategy
 * @Project: ai-light
 * @date: 2025/3/19 10:30
 * @description :
 */
public interface AiModelStrategy {
    /**
     * 非流式返回
     *
     * @param r   入参
     * @param <R> 结果 字节码Result
     * @return 结果
     */
    <R> R getResultNoStream(String s, Class<R> r, AiModelEnum model);

    /**
     * 流式返回
     *
     * @param t     参数
     * @param model 模型
     * @return 结果
     */
    SseEmitter getSseEmitter(String t, AiModelEnum model);
}
